import os
import sys
import datetime
import time

from selenium import webdriver
from selenium.webdriver.edge.service import Service

class Driver():
# 1. 配置Edge驱动（手动指定驱动路径，避免网络依赖）
# 请将下方路径替换为你的msedgedriver.exe实际路径
    DRIVER_PATH = r"E:\edgedriver_win64\msedgedriver.exe"  # 示例路径

# 2. 初始化Edge浏览器
    def Edge_driver(self):
        # 配置浏览器选项
        edge_options = webdriver.EdgeOptions()

        # 初始化驱动并返回浏览器实例
        service = Service(self.DRIVER_PATH)
        self.driver = webdriver.Edge(service=service, options=edge_options)
        return self.driver

#截屏函数
    def getScreenShot(self):
        # 获取当前文件所在目录的绝对路径
        current_dir = os.path.dirname(os.path.abspath(__file__))

        # 构建images目录的绝对路径（根据实际项目结构调整）
        # 假设当前文件在common目录，images在项目根目录，则需要向上跳转一级
        images_dir = os.path.join(current_dir, "..", "images")

        # 按日期创建子目录
        dirname = datetime.datetime.now().strftime('%Y-%m-%d')
        daily_dir = os.path.join(images_dir, dirname)

        # 确保目录存在（自动创建多级目录，已存在也不会报错）
        os.makedirs(daily_dir, exist_ok=True)

        # 生成截图文件名
        method_name = sys._getframe().f_back.f_code.co_name
        timestamp = datetime.datetime.now().strftime('%Y-%m-%d-%H%M%S')
        filename = f"{method_name}-{timestamp}.png"

        # 保存截图（使用绝对路径）
        screenshot_path = os.path.join(daily_dir, filename)
        self.driver.save_screenshot(screenshot_path)

BlogDriver=Driver()


